/**
 * @File   cls_led.h 
 * @Berif  LED类创建
 * @Encode UTF-8
 * @Log    Date         Author     Notes
 *         2021.01.25   Jimmy      first version
 */
#ifndef  __CLS_LED_H
#define  __CLS_LED_H

#include "rtthread.h"
#include "stm32f4xx.h"
#include "error_type.h"

typedef struct
{
  void (* init)(void);
  void (* on)(void);
  void (* off)(void);
}cls_led_s;

/**
 * @brief  实例化对象 
 * @param  init         ：led硬件初始化函数
 * @param  deinit       ：led硬件复位
 * @param  on           ：led开
 * @param  off          ：led关
 * @retval cls_led_s *  ：实例化的led对象
 */
extern cls_led_s * create_led_control(void * init, void * on, void * off);

/**
 * @brief  释放实体 
 * @param  cls_led_s *   ：要释放的实体
 * @retval none
 */
extern void free_led_control(cls_led_s * cls_led);

#endif  /* __CLS_LED_H */
/* End of file */
